<?php
/*
 * Copyright (c) 2008 Carlos Romel Pereira da Silva <carlos.romel@gmail.com>
 * Copyright (c) 2008 Jo�o Paulo Cirino Silva de Novais <joaopaulonovais@gmail.com>
 *
 * Controller
 *
 * Design pattern: Command
 */

class Equipe {

    /*
     * Esse m�todo � o respons�vel por orquestrar as a��es das classes de vis�o
     * e dados.
     */
    static function executar() {

        $acao    = isset($_REQUEST["acao"])? $_REQUEST["acao"]: null;
        $visao   = new EquipeView("modelo/equipe.html");
        $equipe  = Array();

        $equipe["cod_equipe"] = isset($_REQUEST["cod_equipe"])? $_REQUEST["cod_equipe"]: null;
        $equipe["nom_equipe"] = isset($_REQUEST["nom_equipe"])? $_REQUEST["nom_equipe"]: null;
        $equipe["tip_equipe"] = isset($_REQUEST["tip_equipe"])? $_REQUEST["tip_equipe"]: null;
        $equipe["txt_equipe"] = isset($_REQUEST["txt_equipe"])? $_REQUEST["txt_equipe"]: null;

        switch ($acao) {

            case "Gravar":

                if (! is_null($equipe["cod_equipe"])) {

                    EquipeDAO::alterar($equipe);
                } else {

                    EquipeDAO::inserir($equipe);
                }

                $registros = EquipeDAO::consultar();
                $resultado = $visao->consultar($registros);

                break;

            case "Remover":

                if (! is_null($equipe["cod_equipe"])) {

                    EquipeDAO::remover($equipe);
                }

                $registros = EquipeDAO::consultar();
                $resultado = $visao->consultar($registros);

                break;

            case "Consultar":

                $registros = EquipeDAO::consultar($equipe);

                if (! DB::isError($registros)) {

                    $resultado = $visao->consultar($registros);
                }

                break;

            default: // $acao == "Editar"

                if (! is_null($equipe["cod_equipe"])) {

                    $registros = EquipeDAO::consultar($equipe);

                    if (! DB::isError($registros)) {

                        $registro = $registros[0];
                    }
                } else {
                    $registro = $equipe;
                }

                $resultado = $visao->editar($registro);
        }

        return $resultado;
    }

    static function consultarEquipes() {

        $cod_equipe = isset($_REQUEST["cod_equipe"])? $_REQUEST["cod_equipe"]: null;

        echo  EquipeDAO::consultarEquipes($cod_equipe, TRUE, TRUE);
    }
}

?>